# -*- coding: utf-8 -*-
"""
数据快速查看工具
功能：读取Excel前N行并展示数据结构
"""

try:
    import pandas as pd
except ImportError:
    print("请先安装依赖库：pip install pandas openpyxl")
    exit()

def inspect_data(file_path, n_rows=5):
    """
    快速查看数据文件结构
    
    @param {str} file_path - 文件路径
    @param {int} n_rows - 查看行数
    @returns {dict} 包含元数据的信息字典
    """
    try:
        # 读取数据
        df = pd.read_excel(file_path, nrows=n_rows, engine='openpyxl')
        
        # 构建元数据
        meta = {
            "columns": df.columns.tolist(),
            "dtypes": df.dtypes.astype(str).to_dict(),
            "sample_data": df.to_dict(orient='records')
        }
        
        # 打印结构信息
        print("=== 数据结构报告 ===")
        print(f"文件路径: {file_path}")
        print(f"总字段数: {len(meta['columns'])}")
        print(f"示例行数: {n_rows}")
        
        print("\n=== 字段详情 ===")
        for idx, (col, dtype) in enumerate(zip(meta['columns'], df.dtypes), 1):
            print(f"{idx}. {col} ({dtype}) | 示例值: {df[col].iloc[0]}")
            
        return meta
    
    except FileNotFoundError:
        print(f"错误：文件 {file_path} 未找到")
        exit()

if __name__ == "__main__":
    # 使用示例
    data_meta = inspect_data("policy_data.xlsx")
    
    print("\n=== 完整示例数据 ===")
    print(pd.DataFrame(data_meta['sample_data']))